package leetcode_1_20;

public class longestCommonPrefix_14 {
    public static String longestCommonPrefix(String[] strs) {
         String ans="";
         int i=0;
         if(strs.length==1)
             return strs[0];
         while(true){                                         //遍历字符
             char c='0';
             if(strs[0] .equals( ""))
                 return "";
             else {
                 if (i == strs[0].length())
                     return ans;
                 else
                     c = strs[0].charAt(i);                 //赋值为第一个字符串的第 i 个字符
             }
            int count=1;
             for(int t=1;t<strs.length;t++){
                 if(i == strs[t].length() ){        //如果此时 i 超出了某个字符串的长度，则终止
                     return ans;
                 }
                 if(c==strs[t].charAt(i))        //判定是否每位i处的字符都相等
                     count++;
             }
             if(count==strs.length){          //如果每个字符第i个字符都一样，可以往后遍历，并且添加到结果中
                 ans += c;
                 i++;                         //比较下一位
                 continue;
             } else
                 return ans;
         }

    }
    public static String longestCommonPrefix2(String[] strs) {
        if(strs.length==0)return "";
        //公共前缀比所有字符串都短，随便选一个先
        String s=strs[0];
        for (String string : strs) {
            while(!string.startsWith(s)){  //如果有不是以它为前缀的进行循环判定
                if(s.length()==0)return "";
                //公共前缀不匹配就让它变短！
                s=s.substring(0,s.length()-1);
            }
        }
        return s;
    }
}
